ARAL Plan模块接口变更说明文档

修订日期 修订版本 修订内容 修订人
2026.01.27 v0.1 初始化文档 赵锦强

[TOC]

概述

本文档说明从 robot_library_interface.hpp 中的 Plan 模块接口重构到 robot_task.hpprobot_planner.hpp 的接口变更情况。

重构后的架构:

  • Task类 (robot_task.hpp): 负责任务管理和调度,管理一个或多个规划器
  • Planner类 (robot_planner.hpp): 负责具体的路径规划和轨迹生成

接口变更列表

1. 初始化相关接口

功能 原函数 替代函数 备注
初始化规划器状态 tpInitiatePlanner rsInitiateRobotState 调用Task::tskSetTaskState并从state获取起始规划信息
初始化规划器状态(含工具工件) tpInitiatePlanner rsInitiateRobotState 调用Task::tskSetTaskState并从state获取起始规划信息

2. 状态管理相关接口

功能 原函数 替代函数 备注
设置规划器状态 tpSetPlannerState Task::tskSetTaskState 移至Task类,状态类型从PlannerStatus改为TaskState
清空轨迹执行队列 tpClearExecutionQueue Task::tskSetTaskState 通过设置IDEL状态来清空队列
获取规划器状态 tpGetPlannerStatus Task::tskGetTaskState 移至Task类,返回类型从int改为TaskState

3. 周期设置相关接口

功能 原函数 替代函数 备注
设置规划周期 tpSetPlannerCycle Task::tskSetCycle 移至Task类,函数名简化
获取规划周期 tpGetPlannerCycle Task::tskGetCycle 移至Task类,函数名简化

4. 速度/加速度限制相关接口

功能 原函数 替代函数 备注
获取笛卡尔空间最大速度 tpGetMaximumCartesianVelocity Task::tskGetCartesianVelocityLimits 移至Task类,函数名更明确
获取笛卡尔空间最大加速度 tpGetMaximumCartesianAcceleration Task::tskGetCartesianAccelerationLimits 移至Task类,函数名更明确
获取关节空间最大速度 tpGetMaximumJointVelocity Model::mdlGetJointMaximumVelocity 移至Model类
获取关节空间最大加速度 tpGetMaximumJointAcceleration 由Model提供 新架构中不再提供此接口
设置速度和加速度限制 tpSetVelocityAndAccelerationLimits Task::tskSetCartesianVelocityAccelerationLimits 移至Task类,仅保留笛卡尔空间设置,移除关节空间参数
缩放速度和加速度 tpScaleVelocityAndAcceleration Task::tskSetVelocityScaleFactor 移至Task类,仅保留速度缩放,移除加速度缩放参数
获取缩放比例 tpGetScaledFactor Task::tskGetVelocityScaledFactor 移至Task类,仅返回速度缩放比例,移除加速度参数

5. 功率限制相关接口

功能 原函数 替代函数 备注
设置机器人功率限制 tpSetRobotPowerLimits Model::mdlSetRobotPowerLimits 移至Model类
获取机器人功率限制 tpGetRobotPowerLimits Model::mdlGetRobotPowerLimits 移至Model类

6. 容量和队列管理相关接口

功能 原函数 替代函数 备注
设置规划器容量 tpSetPlannerCapacity Planner::tpSetPlannerCapacity 移至Planner类,接口保持不变
获取规划器容量 tpGetPlannerCapacity Planner::tpGetPlannerCapacity 移至Planner类,接口保持不变
获取规划器队列深度 tpGetPlannerDepth Planner::tpGetPlannerDepth 移至Planner类,接口保持不变

7. 运动时长相关接口

功能 原函数 替代函数 备注
获取指定路径段运动时长 tpGetMoveDuration Planner::tpGetMoveDuration 移至Planner类,接口保持不变
获取剩余运动时长 tpGetPlannerLeftMoveDuration Planner::tpGetPlannerLeftMoveDurationTask::tskGetLeftMoveDuration Planner类中保留原接口,Task类中提供简化版本

8. 暂停点相关接口

功能 原函数 替代函数 备注
获取暂停点信息 tpGetPausedPoint Planner::tpGetPausedPoint 移至Planner类,移除ik_eps参数

9. 路径点获取相关接口

功能 原函数 替代函数 备注
获取未来时刻的路点信息 tpGetPathPointAtGivenTime Planner::tpGetPathPointAtGivenTime 移至Planner类,接口保持不变
获取路径上指定比例的路径点 tpGetPathPointAtGivenPathLengthRatio Planner::tpGetPathPointAtGivenPathLengthRatio 移至Planner类,接口保持不变
按分辨率长度插值路径点 tpGetPathPointAtGivenResolutionLength Planner::tpGetPathPointAtGivenResolutionLength 移至Planner类,接口保持不变

10. 轨迹更新相关接口

功能 原函数 替代函数 备注
更新规划器状态(无输出) tpUpdateCycle 已删除 从0.39版本废弃
更新规划器状态并输出轨迹点 tpUpdateCycle Task::tskUpdateCycle 移至Task类,支持多机器人,输出改为vector,增加failed_planner参数用于错误定位

11. 运动添加相关接口

功能 原函数 替代函数 备注
目标运动跟踪(含工具工件) tpTargetMotionTracking Planner::tpTargetMotionTracking 移至Planner类,移除tool_workpiece参数
目标运动跟踪 tpTargetMotionTracking Planner::tpTargetMotionTracking 移至Planner类,接口保持不变
轨迹跟踪(含工具工件) tpTrajectoryTracking Planner::tpTrajectoryTracking 移至Planner类,移除tool_workpiece参数
轨迹跟踪 tpTrajectoryTracking Planner::tpTrajectoryTracking 移至Planner类,接口保持不变
添加直线运动(含工具工件) tpAddPositionLine Planner::tpAddPositionLine 移至Planner类,移除tool_workpiece参数,支持多机器人整体规划
添加直线运动 tpAddPositionLine Planner::tpAddPositionLine 移至Planner类,接口保持不变
添加多点运动(含工具工件) tpAddPoints Planner::tpAddPoints 移至Planner类,移除tool_workpiece参数
添加多点运动 tpAddPoints Planner::tpAddPoints 移至Planner类,接口保持不变
生成无碰撞路径(含工具工件) tpGenerateCollisionFreePoints Planner::tpGenerateCollisionFreePoints 移至Planner类,移除tool_workpiece参数
生成无碰撞路径 tpGenerateCollisionFreePoints Planner::tpGenerateCollisionFreePoints 移至Planner类,接口保持不变
添加速度运动(含工具工件) tpAddVelocityLine Planner::tpAddVelocityLine 移至Planner类,移除tool_workpiece参数
添加速度运动 tpAddVelocityLine Planner::tpAddVelocityLine 移至Planner类,接口保持不变

12. 恢复和停止相关接口

功能 原函数 替代函数 备注
恢复运动(含工具工件) tpResume Task::tskResume 移至Task类,大幅简化,移除所有参数,恢复逻辑由Task内部管理
恢复运动 tpResume Task::tskResume 移至Task类,大幅简化,移除所有参数
设置恢复点 - Planner::tpSetResumePoint 新增接口,用于设置恢复点
停止运动 tpStop Task::tskStop 移至Task类,接口保持不变
终止交融 tpSetEndPath Planner::tpSetEndPath 移至Planner类,功能说明更新为"对插入到规划器的路径进行速度规划生成轨迹段,该接口不会中断动态交融"

13. 同步控制相关接口(新增)

功能 原函数 替代函数 备注
触发同步运动 - Task::tskSyncMoveOn 新增接口,用于触发所有等待中的规划器同时开始规划
等待同步运动 - Task::tskWaitSyncMove 新增接口,使任务进入等待状态,准备进行同步规划

14. 摆动相关接口

功能 原函数 替代函数 备注
设置摆动参数 tpSetWeaveParameters Planner::tpSetWeaveParameters 移至Planner类
更新摆动参数 tpUpdateWeaveParameters Planner::tpUpdateWeaveParameters 移至Planner类

主要变更总结

架构变化

  1. 职责分离: 原单一接口拆分为Task和Planner两个类

    • Task: 负责任务管理、状态控制、同步协调
    • Planner: 负责具体的路径规划和轨迹生成
  2. 参数简化: 大部分接口移除了 ToolWorkpiece 参数

  3. 多机器人支持: 新架构更好地支持多机器人场景,如 tskUpdateCycle 支持输出多个轨迹点

接口命名变化

  • tp* 前缀的接口:
    • 规划器相关功能 → Planner::tp*
    • 任务管理相关功能 → Task::tsk*

功能增强

  1. 同步控制: 新增 tskSyncMoveOntskWaitSyncMove 支持多机同步
  2. 错误定位: tskUpdateCycle 增加 failed_planner 参数,便于多机器人场景下的错误定位
  3. 恢复简化: tskResume 大幅简化,恢复逻辑由Task内部管理

已删除功能

  1. 关节空间的速度/加速度限制获取接口
  2. 机器人功率限制相关接口
  3. 加速度缩放功能(仅保留速度缩放)

results matching ""

    No results matching ""